Archive-name: www/faq/part2 Last-modified: 1995/26/1 5.1: HOW CAN I PROVIDE INFORMATION TO THE WEB? Information providers run programs that the browsers can obtain hypertext from. These programs can either be WWW servers that understand the HyperText Transfer Protocol HTTP (best if you are creating your information database from scratch), "gateway" programs that convert an existing information format to hypertext, or a non-HTTP server that WWW browsers can access -- anonymous FTP or gopher, for example. To learn more about World Wide Web servers, you can consult a www server primer by Nathan Torkington, available at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-servers.html . If you only want to provide information to local users, placing your information in local files is also an option. This means, however, that there can be no off-machine access. 5.2: Obtaining Servers Servers are available for Unix, Macintosh, MS Windows, Windows NT, OS/2, and VMS systems. If you know of a server for another operating system, please contact me. See http://info.cern.ch/hypertext/WWW/Daemon/Overview.html for more information on writing servers and gateways in general. 5.2.1: UNIX SERVERS NCSA httpd NCSA has released a server, known as the NCSA httpd; it is available at the URL ftp://ftp.ncsa.uiuc.edu/Web/ncsa_httpd . EIT httpd EIT has created the Webmaster's Starter Kit, which installs their WWW server on your system via the web through a painless forms interface. Recommended for those unfamiliar with server installation. You can learn more about the starter kit and the EIT httpd at the starter kit site (URL is http://wsk.eit.com/wsk/doc/ ). CERN httpd CERN's server is available for anonymous FTP from info.cern.ch (URL is http://info.cern.ch/hypertext/WWW/Daemon/Status.html ) and many other places. Use your local copy of archie to search for "www" in order to find a nearby site. GN Gopher/HTTP server The GN server is unique in that it can serve both WWW and Gopher clients (in their native modes). This is a good server for those migrating from Gopher to WWW, although it does not have the server-side-script capabilities of the NCSA and CERN servers. See the URL http://hopf.math.nwu.edu/ . Perl server There is also a server written in the Perl scripting language, called Plexus, for which documentation is available at the URL http://bsdi.com/server/doc/plexus.html . WN Server The WN Server, available at the URL http://hopf.math.nwu.edu/docs/manual.html , is designed with an emphasis on security and flexibility, and takes a different approach from the NCSA and CERN servers. It provides text searching facilities as a standard feature. 5.2.2: MACINTOSH SERVERS There is a server for the Macintosh, MacHTTP, available at the URL http://www.uth.tmc.edu/mac_info/machttp_info.html . 5.2.3: MS WINDOWS, IBM OS/2 AND MS WINDOWS NT SERVERS HTTPS (Windows NT) HTTPS is a server for Windows NT systems, both Intel and Alpha -- based. It is available via anonymous FTP from emwac.ed.ac.uk in the directory pub/https (URL is ftp://emwac.ed.ac.uk/pub/https). (Be sure to download the version appropriate to your processor.) You can read a detailed announcement at the FTP site, or by using the URL ftp://emwac.ed.ac.uk/pub/https/https.txt. A professional version is also available (URL is http://emwac.ed.ac.uk/html/internet_toolchest/https/prof.htm ). NCSA httpd for Windows The NCSA httpd for Windows has most of the features of the Unix version, including scripts (which generate pages on the fly based on user input). It is available by anonymous FTP from the ftp site ftp.alisa.com in the directory pub/win-httpd, and documentation can be found at the URL http://www.alisa.com/win-httpd/index.html . SerWeb A simple, effective server for Windows writtten by Gustavo Estrella. Available by anonymous ftp from winftp.cica.indiana.edu (or one of its mirror sites, such as nic.switch.ch), as the file serweb03.zip, in the directory /pub/pc/win3/winsock. There is also a Windows NT version of SerWeb, available by anonymous FTP from emwac.ed.ac.uk as /pub/serweb/serweb_i.zip. WEB4HAM Another Windows-based server, available by anonymous FTP from ftp.informatik.uni-hamburg.de as /pub/net/winsock/web4ham.zip. OS2HTTPD An OS/2 server, written by Frankie Fan. See the home page (URL is ftp://ftp.netcom.com/pub/kf/kfan/overview.html ) for details, or fetch the package by anonymous FTP from ftp.netcom.com in the directory pub/kf/kfan. 5.2.4: MSDOS AND NOVELL NETWARE SERVERS KA9Q KA9Q NOS (nos11c.exe) is a internet server package for DOS that includes HTTP and Gopher servers. It can be obtained via anonymous FTP from one of the following sites: inorganic5.chem.ufl.edu biochemistry.cwru.edu GLACI-HTTPD GLACI-HTTPD is a Netware Loadable Module which allows a Novell NetWare server to become a World Wide Web server (URL is http://www.glaci.com/info/glaci-httpd.html ). 5.2.5: VMS SERVERS CERN HTTP for VMS A port of the CERN server to VMS. Available at the URL http://delonline.cern.ch/disk$user/duns/doc/vms/distribution.html . Region 6 Threaded HTTP Server A native VMS server which uses DECthreads(tm). This is a potentially major performance advantage because VMS has a high overhead for each process, which is a problem for the frequently-forking NCSA and CERN servers that began life under Unix. A multithreaded server avoids this overhead. Available at the URL http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html . 5.2.6: AMIGA SERVERS NCSA's Unix server has been ported to the Amiga, and is bundled with the AMosaic browser. See the URL http://insti.physics.sunysb.edu/AMosaic/home.html for details. 5.2.7: VM/CMS SERVERS A VM/CMS web server is available; see the URL http://ua1vm.ua.edu/~troth/rickvmsw/rickvmsw.html for more information. If you don't yet have a web browser to try this URL with, check out the VM/CMS Browsers section. 5.2.8: YEAH, BUT WHICH IS BEST? To find out which server is best for your needs, you will want to consult Paul Hoffman's Server Comparison Chart (URL is http://sunsite.unc.edu/boutell/faq/chart.html ). That document is also available by anonymous FTP from ftp.netcom.com in the directory pub/bo/boutell/faq. 5.3: Producing HTML documents HTML is the simple markup system used to create hypertext documents. There are three ways to produce HTML documents: writing them yourself, which is not a very difficult skill to acquire, using an HTML editor, which assists in doing the above, and converting documents in other formats to HTML. The following three sections cover these possibilities in sequence. 5.3.1: WRITING HTML DOCUMENTS YOURSELF You can write an HTML document with any text editor. Try the "source" button of your browser (or "save as" HTML) to look at the HTML for a page you find particularly interesting. The odds are that it will be a great deal simpler than you would expect. If you're used to marking up text in any way (even red-pencilling it), HTML should be rather intuitive. A beginner's guide to HTML is available at the URL http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html . You can also find a plain text version (at the URL ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.txt) and a compressed Postscript version (at the URL ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.ps.Z). (Since the latter two are FTP URLs, you can fetch them by hand using FTP if you do not yet have a web browser.) There is also an HTML primer by Nathan Torkington at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-html.html . 5.3.2: HTML EDITORS Of course, most folks would still prefer to use a friendlier, graphical editor. Some editors are WYSIWYG (What You See Is What You Get), or close to it; others simply assist you in writing HTML by plugging in the desired markup tags for you from a menu. Fans of the EMACS editor can use EMACS and html-helper-mode , an EMACS "mode" for HTML editing (URL is http://www.reed.edu/~nelson/tools/ ). There is also another Emacs HTML mode, html-mode.el (URL is ftp://ftp.ncsa.uiuc.edu/Web/html/elisp/html-mode.el ). For Microsoft Windows users, there is an editor called HTML Assistant with features to assist in the creation of HTML documents. It can be had by anonymous FTP from ftp.cs.dal.ca in the directory /htmlasst/. Read the README.1ST file in this directory for information on which files to download. ANT_HTML.DOT is a Word for Windows 6.0 template designed to convert Word documents into HTML documents in a WYSIWYG environment. It includes a demo version of the ANT_PLUS utility, which converts HTML files to WYSIWYG. ANT_PLUS also converts HTML files to ASCII, RTF, or any other format possible in Word 6.0. Contact jswift@freenet.fsu.edu if you need more information. A WYSIWYG editor for the Web, SoftQuad HoTMetaL, is available for downloading at NCSA and numerous other sites. Many mirror sites exist; if you can't get through to one, try another, don't give up! That's what mirror sites are for. (Also be sure to use the copy closest to you geographically if possible.) Hotmetal is available for both Sun Sparc systems and Windows systems; note that Windows users need at least 6 megabytes of free memory. (A 2-megabyte swap file should just barely do the trick on a 4MB machine.) Known mirrors: * ftp://ftp.ncsa.uiuc.edu/Web/html/hotmetal/ * ftp://ftp.ifi.uio.no/pub/SGML/HoTMetaL * ftp://sgml1.ex.ac.uk/SoftQuad * ftp://src.doc.ic.ac.uk/packages/WWW/ncsa/html/hotmetal/ * ftp://askhp.ask.uni-karlsruhe.de/pub/infosystems/mosaic/contrib/Sof tQuad * ftp://ftp.cs.concordia.ca/pub/www * You need a Sun SPARC or Microsoft Windows system and 6MB of disk (6MB of RAM minimum for MS Windows; swap files count). Other Unix systems may be supported by the time you read this; have a look on one of the sites above. Because it is context-sensitive, HoTMetaL guides users in creating new HTML documents and in cleaning up old ones. A Publish command changes appropriate SRC and HREF attributes from local paths to http locations. For more information, FTP the README file from the same directory, or send email to hotmetal@sq.com. A HoTMetaL Pro commercially supported version is available for purchase from SoftQuad and its resellers. Also see Gabriel White's reviews of MS Windows HTML editors (URL is http://werple.mira.net.au/%7Egabriel/web/html/editors/ ). Another option, if you have an SGML editor, is to use it with the HTML DTD (URL is http://info.cern.ch/hypertext/WWW/MarkUp/DTDHeading.html ). An editor for all X users: TkWWW (listed above under X browsers) supports WYSIWYG HTML editing; and since it's a browser, you can try out links immediately after creating them. Another editor for X users: Phoenix (URL is http://www.bsd.uchicago.edu/ftp/pub/phoenix/README.html ) is a fully WYSIWYG HTML editor which insulates the user from direct control of the HTML tags. Available by anonymous FTP from www.bsd.uchicago.edu in the pub/phoenix subdirectory. Also for X users, there is a package called htmltext which supports WYSIWYG HTML editing. More information is available at the URL http://web.cs.city.ac.uk/homes/njw/htmltext/htmltext.html . For Macintosh users, there is a near-WYSIWYG package called HTML Editor (URL is http://dragon.acadiau.ca:1667/~giles/HTML_Editor). ANT_HTML is a Word for the Macintosh template designed to convert Word documents into HTML documents in a WYSIWYG environment. It includes a demo version of the ANT_PLUS utility, which converts HTML files to WYSIWYG. ANT_PLUS also converts HTML files to ASCII, RTF, or any other format possible in Word. At the time of this writing it was scheduled to have been released on the Macintosh (it has long been available for Windows). Contact jswift@freenet.fsu.edu for more information. Also for Macintosh users, the BBEdit HTML extensions allow the BBEdit and BBEdit Lite text editors for the Macintosh to conveniently edit HTML documents. (URL is http://www.uji.es/bbedit-html-extensions.html .) You can also obtain the extensions package by anonymous ftp from sumex-aim.stanford.edu as info-mac/bbedit-html-ext-b3.hqx. There is an alternative BBEdit extension package available as well (URL is http://www.york.ac.uk/~ld11/BBEditTools.html ). it is available by FTP from ftp.york.ac.uk in the directory /pub/users/ld11/BBEdit_HTML_Tools.sea.hqx. NCSA's List of Filters and Editors, for which the URL is http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/faq-software.html#ed itors, mentions several editors, including two for MS Windows. In some cases, the "editor" amounts to a set of macros for an existing word processor, which can provide a near-WYSIWYG environment. Note that this URL contains uppercase and lowercase letters; certain operating systems won't allow mixed case on the command line, or will only allow it if it is quoted (VMS), so if you are launching Lynx or another client and specifying a URL at the command line, try quoting the URL in double-quotes ("URL"). 5.3.3: CONVERTING OTHER FORMATS TO HTML There is a collection of filters for converting your existing documents (in TeX and other non-HTML formats) into HTML automatically, including filters that can allow more or less WYSIWYG editing using various word processors: Rich Brandwein and Mike Sendall's List at CERN (URL is http://info.cern.ch/hypertext/WWW/Tools/Filters.html ). (Note that this URL contains uppercase and lowercase letters; certain operating systems such as VMS require you to quote mixed-case URLs when launching a borwser from the command line. This is NOT a bug in the browser.) There is also a Word for Windows template for writing HTML documents, available at the URL http://www.gatech.edu/word_html/release.htm . 5.3.4: CHECKING YOUR HTML FOR ERRORS Tools to validate your HTML documents (check them for errors) are available. There is a form at the URL http://www.hal.com/%7Econnolly/html-test/service/validation-form.html which will check HTML documents for errors according to the latest specification; note that you are encouraged to set up the program on your own system if you make heavy use of the form. There is also a tool which will check the links in your documents for links to nonexistent resources, such as pages that have moved (URL is http://wsk.eit.com/wsk/dist/doc/admin/webtest/verify_links.html ). Also try weblint (URL is http://www.khoros.unm.edu/staff/neilb/weblint.html ), a Perl script that checks your HTML for errors; you can even try it out over the web through an HTML form. The script is available by anonymous FTP from ftp.khoros.unm.edu in the directory pub/perl/www. Another such tool is htmlchek (URL is: http://uts.cc.utexas.edu/~churchh/htmlchek.html ), which checks HTML documents for errors, creates a cross-reference, automatically expands entities (such as European characters) to their proper HTML form, and performs other useful services. htmlchek is available by anonymous FTP from ftp.cs.buffalo.edu in the directory pub/htmlchek. 5.4: How do I publicize my work? There are several things you can do to publicize your new HTML server or other offering: * Post to comp.infosystems.www.announce. PLEASE READ THE CHARTER POSTING FIRST. In general, always read a newsgroup first to familiarize yourself before posting to it. * Submit it to the NCSA What's New Page at the URL http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/whats-new.html (see the page for details on how to submit your listing!). * Post it to the newsgroup comp.infosystems.announce. Please read the group first to get a feel for the contents. You should not post to comp.infosystems.www.users,.misc,.providers, etc., but if you feel compelled to do so, please choose .misc as announcements are of interest to both providers and users (and those who wear both hats). * Submit it to the maintainers of various catalogs, such as the WWW Virtual Library (at the URL http://info.cern.ch/hypertext/DataSources/bySubject/Overview.html ) and the ALIWEB index (at the URL http://web.nexor.co.uk/aliweb/doc/aliweb.html ). * Read Gareth Rees' guide to publishing on the World Wide Web. (URL is http://www.cl.cam.ac.uk/users/gdr11/publish.html ). 5.5: Can I buy space on an existing server? Yes, you can. A list of sites offering WWW space for lease is available (at the URL http://union.ncsa.uiuc.edu/www/leasing.shtml ). 5.6: How fast does my net connection need to be? The following response to this very-frequently-asked-question was provided by Mike Meyer (mwm@contessa.phone.net). The answer is "It depends." What it depends on is what kind of things you want to provide on your server. Here are some rules of thumb to use when deciding what kind of connection you need for your server. The first rule of thumb is: Don't worry about simultaneous access. Unless you have a very large site, simultaneous access is not a problem. If you have a very large site, you need as much bandwidth as you can afford. There is a bit more about this below. The second rule of thumb is: It should take at most 5 seconds to send a page. The five second rule dates from command line days, when that was about how long people would wait before getting impatient with the system. It seems like a reasonable number to use now. Since external images/audio/etc. are somewhat exceptional, allow more time for them. If you think they should have the same restrictions as above, buy the bandwidth your site will need to do so. However, the rule of thumb for external images/audio/etc is: It should take at most 30 seconds to send an external file. Given these rules, it's pretty straightforward to work out how large an HTML page and external files can be. At least, it's easy after you simplify things by ignoring IP overhead on the line, compression on modem lines, and anything that's less than 10% of the total (or even a little bit more than 10%). The one simplification not to ignore is the multiple packet round-trips it takes to get data flowing through an HTTP channel. For modem lines, this is nearly a second for each HTTP connection, which is significant. For leased lines, it's more like .1 or .2 seconds, which is not significant. On a 14.4 line assumed to be sending 1.4K bytes of data/second, with a 1 second startup, you get 4 * 1.4 or 5.6K of HTML. If you want to include a single inline image, that's 2 seconds of startup, so you're down to 3 * 1.4 or 4.2K of HTML + image. This means smallish HTML pages, and simple inline images. For external files, you get 29 * 1.4 or 40K, which is still a small image. If you have a 28.8 line, you get to double those figures; for a 9600 line, figure 2/3rds of that size. On a 56K leased line assumed to be sending 5K/second, you get 25K of HTML, or mixed HTML/data. For external images, it's 150K. That should cover any reasonable HTML document, and small to medium external files. An MPEG movie might be a bit much. With a T1 line assumed to be sending 150K/second, you get 750K of HTML, or 4.5 megabytes in an external file. Barring very large animations, this should be sufficient for anything you want to serve. More would be faster, but it also gets drastically more expensive. Given the above guidelines, let's look at simultaneous access again. Under the worst case conditions, you're using all of your line for HTML pages, each of which takes 5 seconds to send, so your server is sending 12 pages a minute, or 720 pages an hour, or 17,000 pages a day (pages, not accesses; each inline image in a page generates an access, unless the client cached it). This makes you one of the busier sites on the web. While you'll have contention problems before you get to this point, anything but a modem connection will be sending most pages in a small fraction of five seconds, which should leave plenty of bandwidth with no contention. If you have this kind of access rates on a modem line, you should seriously consider upgrading your connection. The bottom line on simultaneous access is that the WWW server is more likely to have contention with other uses of the line than with itself. Since I don't know what else you use your line for, I can't factor it in. You'll have to consider that issue yourself. 5.7.1: HOW DO I SET UP A CLICKABLE IMAGE MAP? There are really two issues here: how to indicate in HTML that you want an image to be clickable, and how to configure your server to do something with the clicks returned by Mosaic, Chimera, and other clients capable of delivering them. You can read about image maps and the NCSA server at the URL http://hoohoo.ncsa.uiuc.edu/docs/setup/admin/Imagemap.html . Using imagemaps requires that you create a map file; you can do this by hand or with a WYSIWYG tool. VERY IMPORTANT: Creating imagemaps requires a real web server (not an FTP server) and a cooperative web server administrator. It is not usually as simple as wrapping a link around an IMG SRC tag and adding the ISMAP directive; the server must also be told about the map file, and the way to accomplish this varies from server to server. So read your server documentation, and don't waste time making maps before making sure you have the necessary tools to deliver them. Mapedit Mapedit (URL is: http://sunsite.unc.edu/boutell/mapedit/mapedit.html ) is a WYSIWYG imagemap editing tool for Microsoft Windows and the X Window System. MapMaker For users of John Bradley's xv image display software for the X Window System, Mapmaker can turn the miniature images created by xv's Visual Schnauzer into an imagemap. This is useful if you would like to make an entire directory of images available (but note that you should also make textual links to allow those with text- based browsers to download the images for external viewing). (URL is: http://icg.stwing.upenn.edu:80/~mengwong/mapmaker.html ) WebMap On the Macintosh, you may want to use WebMap (URL is ftp://ftp.uwtc.washington.edu/pub/Mac/Network/WWW ). . It produces both NCSA and CERN-compatible maps, which can also be used with MacImagemap and a Macintosh-based server (MacImagemap is found in the same directory). Alternatively, you may want to use MacMapMaker, also available from ftp://ftp.uwtc.washington.edu/pub/Mac/Network/WWW (the same directory). Tkmapedit For Unix systems and other systems on which the Tk/Tcl language toolkit has been installed, Tkmapedit provides a WYSIWYG imagemap editor which is capable of directly testing links if the tkWWW web browser is available. Available by anonymous FTP from the TCL archive on ftp.aud.alcatel.com. 5.7.2: HOW DO I MAKE A "LINK" THAT DOESN'T LOAD A NEW PAGE? Such links are useful when a form is intended to perform some action on the server machine without sending new information to the client, or when a user has clicked in an undefined area in an image map; these are just two possibilities. Rob McCool of NCSA provided the following wisdom on the subject: Yechezkal-Shimon Gutfreund (sg04@gte.com) wrote: : Ok, here is another bizzare request from me: : I am currently running scripts which I "DO NOT" want to return : any visible result. That is, not text/plain, not text/HTML, not : image/gif. The entire results are the side effects of the : script and nothing should be returned to the viewer. : It would be nice to have an internally supported null viewer : so that I could do this, more "cleanly" (ok, ok, I hear your groans). HTTP now supports a response code of 204, which is no operation. Some browsers such as Mosaic/X 2.* support it. To use it, make your script a nph script and output an HTTP/1.0 204 header. Something like: HTTP/1.0 204 No response Server: Myscript/NCSA httpd 1.1 (You can learn more about nph scripts from the NCSA server documentation at the URL http://hoohoo.ncsa.uiuc.edu/docs .) Essentially they are scripts that handle their own HTTP response codes. 5.7.3: WHERE CAN I LEARN HOW TO CREATE FILL-OUT FORMS? Writing an HTML form is easy, but the form doesn't accomplish anything until you write a CGI program to interpret the results on the server side! For more information, see section 5.7.14. See the section on email forms for a simple solution to the most commonly desired form. 5.7.3.1: How can I create hidden fields in forms (keeping state)? Use INPUT TYPE=hidden. An example: By now, most browsers can handle the hidden type, but understand that some browsers will fail to hide the field (and probably confuse the user). Note that "hidden" doesn't mean "secret"; the user can always click on "view source". 5.7.3.2: How can users send me email through their browsers? There are two ways: Using a mailto: URL You can simply create a link which looks like this: Send Me Mail This works great for browsers that support the mailto: URL. Perhaps 80% of web users will be able to use such a link. But not all browsers support it. Installing an email form If you have access to the server's configuration files, or if your server administrator permits users to create their own CGI scripts, you can create a form which sends mail to you from any browser that supports forms. I've written a simple email forms package (URL is: http://siva.cshl.org/email/index.html ), which does it in ANSI C. There is also a package written in Perl, known as the WWW Mailto Gateway (URL is http://www.mps.ohio-state.edu/mailto/mailto_info.html ). GetComments (URL is: http://everest.cs.ucdavis.edu/~hoagland/getcomments.html) is a more general package, also written in Perl, which can handle many different types of comment forms. If you want to learn how these forms actually work, see section 5.7.14. 5.7.4: HOW DO I COMMENT AN HTML DOCUMENT? Use the tag. Note that comments do not nest, and the sequence "--" may not appear inside a comment except as part of the closing --> tag. (It's officially allowed, but some browsers won't handle it properly.) You should not try to use this to "comment out" HTML that would otherwise be shown to the user, since some browsers (notably Mosaic) will still pay attention to tags inside the comment and close it prematurely. Thanks to Joe English for clearing up this issue. 5.7.5: HOW CAN I CREATE DECENT-LOOKING TABLES AND STOP USING
... 
? Tables are a standard feature in HTML Level 3, a new version of HTML. Unfortunately, they are at present implemented only by the latest NCSA Mosaic versions and the Viola and Emacs-W3 browsers, to my knowledge. In addition, most implementations are incomplete. In some implementations, at the time of this writing, text in tables cannot be selected and/or cannot be a link. However, there is a way to use HTML Level 3 tables now and convert them automatically to HTML, allowing you to design proper tables and install those pages directly when table support arrives in the majority of clients. You can do this using the html+tables package, by Brooks Cutter (bcutter@paradyne.com), which is available for anonymous ftp from sunsite.unc.edu in the directory pub/packages/infosystems/WWW/tools/html+tables.shar. This package requires the shell language Perl, which is primarily used on Unix systems but is also available for other systems (such as MSDOS machines). html+tables accepts HTML Level 3 and outputs html using the
...
construct to represent tables, allowing you to write HTML Level 3 now, knowing that it will look better when clients are ready for it. 5.7.6: WHAT IS HTML LEVEL 3 AND WHERE CAN I LEARN MORE ABOUT IT? HTML Level 3, also known as HTML+, is an enhanced version of HTML designed to address some of the limitations of HTML. HTML Level 3 supports true tables, right-justified text, centered text, line breaks that do not double space, and many other desired features. However, most clients support only a handful of HTML Level 3 features (such as the partial implementation of tables in Mosaic) at the time of this writing. If you have access to a Unix system with the X Window System installed, you can try out many features of HTML Level 3 using the experimental Arena browser. You can access information about new developments in HTML at the CERN server (at the URL http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html ). (HTML Level 1 is the original version. HTML Level 2 is essentially the same, but with the addition of forms.) 5.7.7: HOW CAN I MAKE TRANSPARENT AND INTERLACED GIFS? AND WHAT ARE THEY? Transparent GIFs are useful because they appear to blend in smoothly with the user's display, even if the user has set a background color that differs from that the developer expected. They do this by assigning one color to be transparent -- if the web browser supports transparency, that color will be replaced by the browser's background color, whatever it may be. Interlaced GIFs appear first with poor resolution and then improve in resolution until the entire image has arrived, as opposed to arriving linearly from the top row to the bottom row. This is great to get a quick idea of what the entire image will look like while waiting for the rest. This doesn't do much for you if your web browser doesn't support progressive display as the image is downloaded, but non-progressive-display web browsers will still display interlaced GIFs once they have arrived in their entirety. To create transparent and interlaced GIFs, check out David Koblas' giftool, a program which can manipulate those options and many more aspects of your GIF file. In addition, there is a document explaining transparent GIFs available at the URL http://melmac.corp.harris.com/transparent_images.html . You can fetch the program giftrans by anonymous ftp from ftp.rz.uni-karlsruhe.de at the path /pub/net/www/tools/giftrans.c. There is also a Perl Script (URL is: http://www.omron.co.jp:80/~jfriedl/perl/ ) which makes transparent GIFs. There is also a utility for the Macintosh, Transparency (URL is: http://www.med.cornell.edu/~giles/projects.html#transparency). 5.7.8: HOW COME MAILTO: URLS DON'T WORK? The mailto: URL is a feature found in Lynx, Netscape, Spry Mosaic, the latest NCSA Mosaics, Emacs w3 mode and many other browsers. In general, about 80% of web browsers support mailto: at the time of this writing. However, it is not in numerous older browsers. In the meantime, you can set up forms which send mail to you; see Section 5.7.3.2. 5.7.9: HOW CAN I RESTRICT AND CONTROL ACCESS TO MY SERVER? All major servers have features that allow you to limit access to particular sites, and many clients have authentication features that allow you to identify specific users. There is a tutorial on security and user authentication with the NCSA server and Mosaic available, written by Marc Andreessen (URL is http://wintermute.ncsa.uiuc.edu:8080/auth-tutorial/tutorial.html ). See your server documentation for further information. 5.7.10: WHICH FORMAT IS BETTER FOR WWW IMAGE PURPOSES, JPEG OR GIF? JPEG does a better job with realistic images such as scanned photographs. Most browsers cannot handle inline JPEGs, however, so you must link to them as external images (using a regular instead of ). GIF does a better job with crisp, sharp images, such as those typically used to construct buttons, graphs and the like. All browsers that can display graphics at all can display GIFs inline. 5.7.11: HOW CAN I MIRROR PART OF ANOTHER SERVER? Scripts are available to do this, but at this time they are not very friendly to the server you are attempting to mirror; their behavior resembles that of the more poorly written WWW robots. If you are trying to improve access times to a distant server, you will likely find the "proxy" capabilities of CERN's WWW server to be a more effective and general solution to your problem. 5.7.12: HOW CAN I KEEP ROBOTS OFF MY SERVER? Programs that automatically traverse the web can be quite useful, but have the potential to make a serious mess of things. Every so often someone will write a "depth-first" searching robot that brings servers to their knees. See the section on writing robots (4.10) for details. Fortunately, most robots on the web follow a simple protocol by which you can keep them off your server if you wish, or keep them out of portions of your server which are robot traps (ie, they contain an infinite number of possible links). Read the document World Wide Web Robots, Wanderers and Spiders (URL is: http://web.nexor.co.uk/mak/doc/robots/robots.html ) and learn about the emerging standards for exclusion of robots from areas in which they are not wanted. You can also read about existing robots there, including useful cataloging robots you probably do not want to keep off your server. 5.7.13: HOW CAN I KEEP STATISTICS ABOUT MY WEB SERVER? There are several tools which can generate statistics about your web server: getstats getstats is a versatile log analyzer, also written in C, which provides reports for various time periods with a high degree of flexibility. Add-on packages have been written to generate reports in HTML and also to generate graphs. You can access the getstats home page for more information (URL is http://www.eit.com/software/getstats/getstats.html ), or obtain the package by anonymous FTP from ftp.eit.com in the directory /pub/web.software/getstats. WebStat WebStat is a package written in the language Python which supplies statistics on usage by domain, country, etc., with daily, weekly, monthly and annual reports available. You will need Python in order to use it. See the WebStat home page (URL is http://www.pegasus.esprit.ec.org/people/sijben/statistics/advertisment.html ) for details, or obtain Python from ftp.cwi.nl in the directory /pub/python and WebStat from ftp.pegasus.esprit.ec.org in the directory /pub/misc. Wusage Wusage, which I wrote, is a C program which generates simple weekly reports in HTML, with inline image graphs displaying server growth and the distribution of accesses by continent. You can also exclude irrelevant accesses (inline images, local machines, etc.) from the results. Read the Wusage home page (URL is http://siva.cshl.org/wusage.html ) for more information, or obtain Wusage by anonymous FTP from isis.cshl.org in the directory pub/wusage. wwwstat wwwstat is a full-featured log analyzer written in the language Perl. (See the newsgroup comp.lang.perl for more information about the language.) See the wwwstat home page (URL is http://www.ics.uci.edu/WebSoft/wwwstat/ ) for more information, or obtain the package by anonymous FTP from liege.ics.uci.edu in the directory /pub/arcadia/wwwstat. See also gwstat (URL is http://dis.cs.umass.edu/stats/gwstat.html ), a package which produces GIF graphs from the output of wwwstat. 5.7.14: I WANT TO GENERATE WEB PAGES FROM A PROGRAM. DO I HAVE TO WRITE A CUSTOM SERVER? No, you will not need to write a custom server. Most web servers support one variation or another of a standard for adding your own programs to the web server. The standard is called CGI (Common Gateway Interface). Marc Hedlund has written a FAQ on CGI programming (URL is: http://www.halcyon.com/hedlund/cgi-faq/ ) which makes a good introduction to the subject. The standard itself can be found at NCSA (URL is: http://hoohoo.ncsa.uiuc.edu/ ). 5.7.14.1: How can I generate GIFs on the fly from my CGI scripts? If you want to generate GIF images on the fly as part of your application, examine the gd library (URL is: http://siva.cshl.org/gd/gd.html ). Hint: your HTML page and your inline images are separate documents with separate URLs. Generate them in response to separate requests! (Yes, there are tricks to speed this up, but be careful not to break inline images on HTML pages you didn't write that refer to your gd-generated image.) It's also possible to use gnuplot and the pbmplus utilities. This is slower, but can require less programming if gnuplot is sufficient for your purposes. (See archie for both tools.) 6: WHERE CAN I DISCUSS THE WORLD WIDE WEB? 6.1: What newsgroups discuss the Web? You can find discussion of World Wide Web topics in three newsgroups, and one newsgroup which will soon be removed: comp.infosystems.www.users A forum for the discussion of WWW client software and its use in contacting various Internet information sources. New user questions, client setup questions, client bug reports, resource-discovery questions on how to locate information on the web that can't be found by the means detailed in the FAQ and comparison between various client packages are among the acceptable topics for this group. Please specify what browser and what system type (Windows, Mac, Unix, etc.) your post is about if you are asking questions about a specific program. comp.infosystems.www.providers A forum for the discussion of WWW server software and the use of said software to present information to users. General server design, setup questions, server bug reports, security issues, HTML page design and other concerns of information providers are among the likely topics for this group. comp.infosystems.www.misc A forum for general discussion of WWW (World Wide Web)- related topics that are NOT covered by the other newsgroups in the hierarchy. This will likely include discussions of the Web's future, politicking regarding changes in the structure and protocols of the web that affect both clients and servers, et cetera. comp.infosystems.www.announce A moderated forum for the announcement of new and updated World Wide Web resources and software. comp.infosystems.www (DEFUNCT) The old catch-all newsgroup, which may still exist on your system but was officially removed on September 7th, 1994, according to David Lawrence, moderator of news.announce.newgroups. If your system still carries this group, ask your administrator to remove it. 6.2: What mailing lists discuss the Web? www-talk@info.cern.ch Address: www-talk@info.cern.ch for CONTRIBUTIONS ONLY. Administration: listserv@info.cern.ch (robot) www-talk-request@info.cern.ch (human). Description: Technical discussion, W3 related. Experts to experts. General questions to the newsgroups, please. Archive: Not currently served, but kept. www-announce@info.cern.ch Address: www-announce@info.cern.ch. NOT FOR GENERAL USE - serious low-volume announcements only. Administration: listserv@info.cern.ch (robot), www-announce-request@info.cern.ch (human). Description: Low volume summary announcemements of product releases, etc. Archive: Not currently public. 7: I WANT TO KNOW MORE To find out more, use the web. This FAQ hopefully provides enough information for you to locate and install a browser on your system. If you have system specific questions regarding FTP, networking and the like, please consult newsgroups relevant to your particular hardware and operating system! Once you're up and running, you may wish to consult the World Wide Web Primer by Nathan Torkington. It is available at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-primer.html . Later you may return to this FAQ for answers to some of the more advanced questions. I encourage you to check out the changes listed early in the document each time the FAQ appears. 8: CREDITS Maintainer (11/93 to present): Thomas Boutell, boutell@netcom.com Former Maintainer (until 11/93): Nathan Torkington, Nathan.Torkington@vuw.ac.nz